package com.yc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class AIAgentApplication {
    public static void main(String[] args) {
        try {
            SpringApplication.run(AIAgentApplication.class, args);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }


//    //启动服务器时，将初始数所厍 rag/a.txt加载到向量库中
//    @Bean
//    public CommandLineRunner initDataToVectorStore(QwenEmbeddingModel qwenEmbeddingModel,
//                                                   EmbeddingStore<TextSegment> embeddingStore) throws Exception {
//        URL url = getClass().getClassLoader().getResource("rag/a.txt");
//        if (url == null) throw new IllegalStateException("资源 rag/a.txt 未找到");
//        Path documentPath = Paths.get(url.toURI());
//
//        return args -> {
//            try {
//                // 文档加载
//                DocumentParser parser = new TextDocumentParser();
//                Document doc = FileSystemDocumentLoader.loadDocument(documentPath, parser);
//                List<TextSegment> segments = new DocumentByLineSplitter(100, 20).split(doc);  //按行分割
//
//                // 向量化
//                List<Embedding> embeddings = qwenEmbeddingModel.embedAll(segments).content();
//
//                //  System.out.println("Embedding 段落数: " + segments.size());
//                //  System.out.println("首段文本: " + segments.get(0).text());
//                // 入库
//                embeddingStore.addAll(embeddings, segments);
//                System.out.printf("已初始化向量：%d 条%n", embeddings.size());
//            } catch (Exception e) {
//                // 打日志，别让 Spring 启动失败
//                e.printStackTrace();
//            }
//        };
//    }
}
